package cn.zjitc.exam.mapper;

import cn.zjitc.exam.domain.Product;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProductMapper {
    /**
     * 查询所有商品
     * @return
     */
    List<Product> findAll();
    /**
     * 分页查询
     * @param offset 偏移量
     * @param size 每页记录数
     * @return
     */
    List<Product> findByPage(@Param("offset") int offset, @Param("size") int size);
    /**
     * 查询总记录数
     * @return
     */
    int count();
    /**
     * 保存商品
     * @param product
     */
    void save(Product product);
    /**
     * 根据id查询商品
     * @param id
     * @return
     */
    Product findById(Integer id);
    /**
     * 修改商品
     * @param product
     */
    void update(Product product);
    /**
     * 删除商品
     * @param id
     */
    void delete(Integer id);

    List<Product> search(@Param("keyword") String keyword);

    int countByKeyword(String keyword);
}